Data inspection system and method

ABSTRACT

A system continuously monitors, by at least one inspector, an inspection work queue for a class of inspection operation request, detects, by the at least one inspector, the class of inspection operation request in the inspection work queue, removes, by the at least one inspector, the class of inspection operation request from the inspection work queue, determines, by the at least one inspector, one of a class of inspection tool and a specific level of inspection to perform for the class of inspection operation request that references a data object, and executes, by the at least one inspector, the one of the class of inspection tool and the specific level of inspection for the class of inspection operation request that references the data object at one of a certain time and a certain event during a data lifecycle of the data object.

BACKGROUND

Protection of data in a modern computing network is an amazingly complexand costly endeavor. While protection of data is challenging, it is madeeven more difficult in view of the ever-increasing frequency andsophistication of cyber-attacks. Cyber-criminal activities constantlythreaten the availability and integrity of data. Enterprise financialpressures leave insufficient funds available to protect large andcomplex corporate data. However, because of cyber-attacks and ransomwareevents, it is critical to invest in cyber-security of data.Unfortunately, existing tools for securing data against cyber-attacksare insufficient and limited in their capabilities and effectiveness.

It is with these issues in mind, among others, that various aspects ofthe disclosure were conceived.

SUMMARY

According to one aspect, a data inspection system and method is providedfor dynamically adaptive and policy-based management of data foradvanced cyber security and cyber resiliency. As an example, aninspection director may be executed by a first server computing devicethat comprises an Adaptive Data Protection (ADP) analytics engine servercomputing device. An inspection manager may be executed by a secondserver computing device that comprises an ADP accelerator servercomputing device. The inspection director may continually monitor for anew operation, condition, or event and may detect the new operation,condition, or event. Upon detecting the new operation, condition, orevent, the inspection director may use an inspection class policy todetermine a class of inspection operation as well as a specific dataobject and place the class of inspection operation and specific dataobject as a request into an inspection work queue. One or moreinspectors may continually monitor the inspection work queue and maydetect the request in the inspection work queue. The one or moreinspectors may remove the request from the inspection work queue. Theone or more inspectors may determine one of a class of inspection tooland a specific level of inspection to perform on the specific dataobject for the request and then may execute the one of the class ofinspection tool and the specific level of inspection on the specificdata object for the request.

A system may include a memory and at least one processor to continuouslymonitor, by at least one inspector, an inspection work queue for a classof inspection operation request, detect, by the at least one inspector,the class of inspection operation request in the inspection work queue,remove, by the at least one inspector, the class of inspection operationrequest from the inspection work queue, determine, by the at least oneinspector, one of a class of inspection tool and a specific level ofinspection to perform for the class of inspection operation request thatreferences a data object, and execute, by the at least one inspector,the one of the class of inspection tool and the specific level ofinspection for the class of inspection operation request that referencesthe data object at one of a certain time and a certain event during adata lifecycle of the data object.

According to another aspect, a method includes continuously monitoring,by at least one inspector associated with a data inspection servercomputing device having at least one processor, an inspection work queuefor a class of inspection operation request, detecting, by the at leastone inspector, the class of inspection operation request in theinspection work queue, removing, by the at least one inspector, theclass of inspection operation request from the inspection work queue,determining, by the at least one inspector, one of a class of inspectiontool and a specific level of inspection to perform for the class ofinspection operation request that references a data object, andexecuting, by the at least one inspector, the one of the class ofinspection tool and the specific level of inspection for the class ofinspection operation request that references the data object at one of acertain time and a certain event during a data lifecycle of the dataobject.

According to an additional aspect, a non-transitory computer-readablestorage medium includes instructions stored thereon that, when executedby a computing device cause the computing device to perform operations,the operations including continuously monitoring, by at least oneinspector, an inspection work queue for a class of inspection operationrequest, detecting, by the at least one inspector, the class ofinspection operation request in the inspection work queue, removing, bythe at least one inspector, the class of inspection operation requestfrom the inspection work queue, determining, by the at least oneinspector, one of a class of inspection tool and a specific level ofinspection to perform for the class of inspection operation request thatreferences a data object, and executing, by the at least one inspector,the one of the class of inspection tool and the specific level ofinspection for the class of inspection operation request that referencesthe data object at one of a certain time and a certain event during adata lifecycle of the data object.

According to another aspect, a system includes a memory and at least oneprocessor to continuously store metadata results associated with aplurality of ransomware attacks, a plurality of inspection class policydefinitions, a plurality of data protection operations, and operationalforensics data as machine learning training data, continuously monitorfor one of a new security condition and event, detect one of the newsecurity condition and event, determine an appropriate inspection classpolicy based on the one of the new security condition and event, basedon the inspection class policy, determine one to implement of a class ofinspection operation, a cyber security analysis, and a data protectionoperation, and execute one of the class of inspection operation, thecyber security analysis, and the data protection operation based on themachine learning training data.

According to an additional aspect, a method includes continuouslystoring, by at least one processor, metadata results associated with aplurality of ransomware attacks, a plurality of inspection class policydefinitions, a plurality of data protection operations, and operationalforensics data as machine learning training data, continuouslymonitoring, by the at least one processor, for one of a new securitycondition and event, detecting, by the at least one processor, one ofthe new security condition and event, determining, by the at least oneprocessor, an appropriate inspection class policy based on the one ofthe new security condition and event, based on the inspection classpolicy, determining, by the at least one processor, one to implement ofa class of inspection operation, a cyber security analysis, and a dataprotection operation, and executing, by the at least one processor, oneof the class of inspection operation, the cyber security analysis, andthe data protection operation based on the machine learning trainingdata.

According to another aspect, a non-transitory computer-readable storagemedium, having instructions stored thereon that, when executed by acomputing device cause the computing device to perform operations, theoperations including continuously storing metadata results associatedwith a plurality of ransomware attacks, a plurality of inspection classpolicy definitions, a plurality of data protection operations, andoperational forensics data as machine learning training data,continuously monitoring for one of a new security condition and event,detecting one of the new security condition and event, determining anappropriate inspection class policy based on the one of the new securitycondition and event, based on the inspection class policy, determiningone to implement of a class of inspection operation, a cyber securityanalysis, and a data protection operation, and executing one of theclass of inspection operation, the cyber security analysis, and the dataprotection operation based on the machine learning training data.

These and other aspects, features, and benefits of the presentdisclosure will become apparent from the following detailed writtendescription of the preferred embodiments and aspects taken inconjunction with the following drawings, although variations andmodifications thereto may be effected without departing from the spiritand scope of the novel concepts of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate embodiments and/or aspects of thedisclosure and, together with the written description, serve to explainthe principles of the disclosure. Wherever possible, the same referencenumbers are used throughout the drawings to refer to the same or likeelements of an embodiment, and wherein:

FIG. 1 is a block diagram of a data inspection system according to anexample embodiment.

FIG. 2 illustrates another block diagram of the data inspection systemaccording to an example embodiment.

FIG. 3 illustrates a block diagram of a data inspection server computingdevice of the system according to an example embodiment.

FIG. 4 illustrates a flowchart of a process for an inspection directoraccording to an example embodiment.

FIG. 5 illustrates a flowchart of a process for an inspection manageraccording to an example embodiment.

FIG. 6 illustrates a flowchart of a process for a class of inspectionoperation according to an example embodiment.

FIG. 7 illustrates a flowchart of a process for cyber securityextrapolation analysis according to an example embodiment.

FIG. 8 illustrates a flowchart of a process for cyber securityhistorical analysis according to an example embodiment.

FIG. 9 illustrates a flowchart of a process for analysis and dynamicadjustment of time ranges and scope of inspection according to anexample embodiment.

FIG. 10 illustrates a flowchart of a process for analysis of machinelearning training data and dynamic adjustment of class of inspectionoperations according to an example embodiment.

FIG. 11 illustrates an example of an inspection class policy of thesystem according to an example embodiment.

FIG. 12 illustrates an example of a class of inspection operationrequest of the system according to an example embodiment.

FIG. 13 illustrates a block diagram of an example computer device foruse with the example embodiments.

DETAILED DESCRIPTION

For the purpose of promoting an understanding of the principles of thepresent disclosure, reference will now be made to the embodimentsillustrated in the drawings, and specific language will be used todescribe the same. It will, nevertheless, be understood that nolimitation of the scope of the disclosure is thereby intended; anyalterations and further modifications of the described or illustratedembodiments, and any further applications of the principles of thedisclosure as illustrated therein are contemplated as would normallyoccur to one skilled in the art to which the disclosure relates.

Client computing devices and server computing devices may communicateover a communications network using Hypertext Transfer Protocol (HTTP)and/or other communications protocols. HTTP provides a request-responseprotocol in the client-server computing model. A client applicationrunning on the client computing device may be a client and a serverapplication running on the server computing device may be the server,e.g., a web server. The client submits, for example, an HTTP request tothe server. The web server of the server computing device providesresources, such as Hypertext Markup Language (HTML) files and/or othercontent, and performs other functions on behalf of the client, andreturns an HTTP response message to the client. Other types ofcommunications using different protocols may be used in other examples.

The one or more computing devices may communicate based onrepresentational state transfer (REST) and/or Simple Object AccessProtocol (SOAP). As an example, a first computer (e.g., a clientcomputer) may send a request message that is a REST and/or a SOAPrequest formatted using Javascript Object Notation (JSON) and/orExtensible Markup Language (XML). In response to the request message, asecond computer (e.g., a server computer) may transmit a REST and/orSOAP response formatted using JSON and/or XML.

Aspects of a system and method for dynamically adaptive and policy-basedmanagement of data for advanced cyber security and cyber resiliency mayinclude a data inspection server computing device that executes a datainspection application that continuously monitors, by at least oneinspector, an inspection work queue for a class of inspection operationrequest, detects, by the at least one inspector, the class of inspectionoperation request in the inspection work queue, removes, by the at leastone inspector, the class of inspection operation request from theinspection work queue, determines, by the at least one inspector, one ofa class of inspection tool and a specific level of inspection to performfor the class of inspection operation request that references a dataobject, and executes, by the at least one inspector, the one of theclass of inspection tool and the specific level of inspection for theclass of inspection operation request that references the data object atone of a certain time and a certain event during a data lifecycle of thedata object.

Cyber security includes the combination of security techniques, tools,processes, and others that protect data and other information technology(IT) resources from penetration, theft, disruption, redirection, andother damage. Cyber resiliency may be the state or benefit of data orother IT resources resulting from effective cyber security measures thatprovide protection.

As noted herein, protection of data in modern enterprises is anamazingly complex and costly endeavor. Adding to the challenges ofprotecting data is the ever-increasing frequency and sophistication ofcyber-attacks. Cyber-criminal activities may constantly threaten theavailability and integrity of critical data. Enterprise financialpressures may leave insufficient funds available to protect increasinglylarge and complex data. However, with the realities of cyber-attacks andransomware events, the need to invest in cyber security of data is nolonger an option. Additionally, effectively securing data is extremelydifficult and operationally complex. Existing tools for securing dataagainst cyber-attacks are insufficient and are very limited in theirscope of their capabilities and effectiveness.

Security, financial, and operational issues may make daily dataprotection and data security operations into one of the mostcomputationally complex challenges that corporate networks may face.More advanced, more cost-effective, and more adaptive techniques ofsecuring data against cyber-attacks are desired. In particular,techniques are desirable to enable granular and flexible policy-basedmanagement for securing data. Techniques are also desirable to leverageand orchestrate a variety of existing cyber security technologies and todynamically adapt to changing security threat landscapes based on eventsin the environment, advancements in best practices, and technologyimprovements.

Many enterprises may employ numerous, disjoint, security point productsfrom a variety of different vendors in an attempt to deal with securityissues and attempt to harden their data and environment from a securityperspective. The products add to the complexities, operationalchallenges, and costs of the problem (both financially andcomputationally). These products also tend to introduce additionalislands of data and data security operational management.

As an example, a large financial organization may desire to implementprotections for their most valuable at-risk systems, applications, anddata. Using conventional techniques available to large enterprises, theorganization may have built an architecture that meets securityrequirements but introduces many disparate products, complex operations,new security exposures between the security products, and iscomputationally and financially expensive. Further, there is nocomprehensive manner to dynamically apply various security technologiesto different types of data based on corporate priorities and corporatepolicies. As an example, backup software protects source data and placesbackup data in secure storage and/or offline tape volumes. For criticalsystems, backups are sent to dedicated backup storage that includesreplication to secure cyber vaults. A cyber vault may be a securedrepository for storage of data. The cyber vaults necessitate many cyberrecovery servers. Each cyber recovery server may provide data recoveryservices for a small amount of data that may be compromised by asecurity attack. Additional security software that performs data contentinspection for specific data may ensure that recovered data does notcontain ransomware or malware content.

There are a number of drawbacks associated with this conventionalapproach of existing security techniques for cyber security of data. Theexisting techniques have tremendous complexities and costs due to a lackof integration amongst a multitude of disparate security tools. Inaddition, in some cases, this security product layering approach tosecuring data may violate the security principle of least privilege. Forexample, with this approach, security personnel often gain access toapplication or backup data that they normally are not allowed to access.Existing techniques do not allow an automated means of applying securitytechnologies to data. In addition, the existing techniques do not allowgranular means of applying different security technologies adaptively todifferent data based on various criteria. The existing techniques arereactive rather than proactive in applying security. Further, thesecurity controls, practices, and discipline occur too late in the datalifecycle (e.g., the security controls, practices, and discipline arenot applied at the data source, are not run at data replication, and arerun in a final cyber recovery landing space for the data). In addition,the existing techniques provide specific security functions and do notorchestrate various existing security techniques in a comprehensivemanner that allows for applying a policy to secure data throughout itslifecycle in a consistent, automated, and granular manner. Once theconventional security measures are put in place, they are oftenimmediately obsolete. Existing techniques and processes for securingdata against cyber-attacks tend to be static and do not automaticallyadjust to changing threats.

In particular, conventional management of anti-virus and anti-malwarecontent inspection techniques are lacking. Existing anti-virus andanti-malware tools can monitor and detect cyber-attacks and scan datafor virus and malware content. However, the tools are limited in thescope of monitoring and inspect only specific streams of data.Typically, a snapshot of data at a point in time is captured and aone-time security inspection of the data may be performed. This existingtechnique does not include applying security policies that may includewhat type of data to scan, when to scan the data, and what technology touse to scan the data, and what actions to take on the data given certainresults.

The inspection system and method provides adaptive cyber security fordata. The system may utilize an automated method that includespolicy-based management for securing data that orchestrates a variety ofcyber-security and other technologies. The system may automaticallyapply appropriate cyber-security and other technologies, dynamicallyadjust levels of security, and dynamically adjust what cyber protectionactions to take against which data at various stages of data lifecyclebased on a security policy, various conditions, environments, value ofthe data, and other contingencies. The system can dynamically adapt tochanging security threat landscapes based on events in the environment,advancements in best practices, and technology improvements, amongothers.

The system may utilize an inspection class policy to automaticallyassign appropriate cyber-security technologies and/or multi-layeredcyber-security analysis and operations for identified data providing amore granular application of security policy to specific identifieddata. The system includes an inspection director and an inspectionmanager to enforce class of inspection operations within a definedsecurity access zone and enforce other security disciplines based on oneor more policies specified in an inspection class policy.

The inspection director may orchestrate a variety of cyber-securitytechnologies and/or cyber-security analysis and operations includingperforming different levels and types of encryption, different levelsand types of content inspection, content validation, over-timecomparisons and evaluations, backup and replication and disasterrecovery operations, and others. The inspection director also mayspecify alternative or additional security actions including datainspection operations or analysis be performed on specific identifieddata under certain conditions or events. The identified data may beprimary, backup, disaster recovery, replication, and recovered copies ofdata, among other types of data. Further, the inspection director maydynamically change a type of data inspection to perform or maydynamically adjust a level of content inspection to perform or mayperform different analysis on identified data, based on certainconditions or events. By changing a type of data inspection or adjustinga level of data content inspection, or performing a different analysison identified data, the inspection director may dynamically adapt tochanging security threat landscapes. The inspection director may usemetadata associated with a particular data protection or securitycondition or event as machine learning training data and adjust futurecyber security analysis based on the training data. As an example, theinspection director may save metadata results of a previous ransomwareattack, a previous inspection class policy definition at the time of theattack, a result of a previous data protection operation taken uponindication of a previous ransomware attack, and other operationalbehavior forensics data as machine learning training data. Theinspection director may analyze the impact of a previous ransomwareattack, a previous inspection class policy, a result of a previous dataprotection operation taken upon indication of a previous ransomwareattack, and other operational behavior forensics. The inspectiondirector may determine a different data protection operation to take ora different class of inspection operation to perform or another changeto take to lower the risk of further cyber-attack penetration upon afuture indication of a ransomware attack.

In addition, the inspection director may perform security operationalbehavior forensics and based on the results, may dynamically adjust aclass of inspection or may adjust a level of content inspection toperform. In addition, the inspection director may perform differentanalysis or take other actions on identified data in the future todynamically improve the cyber-security of the specific data.

As a result, the system is able to provide comprehensive, adaptive,policy-based cyber-security.

As an example, an inspection director may be executed by a first servercomputing device that comprises an Adaptive Data Protection (ADP)analytics engine server computing device. An inspection manager may beexecuted by a second server computing device that comprises an ADPaccelerator server computing device or another computing device. Theinspection director may continually monitor for a new operation,condition, or event and may detect the new operation, condition, orevent. Upon detecting the new operation, condition, or event, theinspection director may use an inspection class policy to determine aclass of inspection operation and may notify the inspection manager toplace the class of inspection operation as a request into an inspectionwork queue. One or more inspectors may continually monitor theinspection work queue and may detect the request in the inspection workqueue which may reside on an ADP accelerator server computing device. Asa further example, an inspection manager may continually monitor for anew operation, condition, or event and may detect the new operation,condition, or event. Upon detecting the new operation, condition, orevent, the inspection manger may use an inspection class policy todetermine a class of inspection operation and may place the class ofinspection operation as a request into an inspection work queue. The oneor more inspectors may remove the request from the inspection workqueue. The one or more inspectors may determine one of a class ofinspection tool and a specific level of inspection to perform for therequest and then may execute the one of the class of inspection tool andthe specific level of inspection for the request.

FIG. 1 shows a block diagram of a computing system that includes a datainspection system 100 according to an example embodiment. The datainspection system 100 includes at least one client computing device 102that is in communication with at least one Adaptive Data Protection(ADP) analytics engine server computing device 104 (hereinafter ADPanalytics server computing device) and at least one ADP acceleratorserver computing device 106 via a communications network 108.

According to an exemplary embodiment, the data inspection system 100 mayinclude one logical instance of the ADP analytics server computingdevice 104, a plurality of client computing devices 102, and a pluralityof ADP accelerator server computing devices 106, among other computingdevices. Each entity, company, organization, corporation, etc. may haveits own particular ADP accelerator server computing device 106 thatcommunicates with the ADP analytics server computing device 104. EachADP accelerator server computing device 106 may be implemented based onparticular workloads, a computing architecture, a network architecture,and a cloud computing network deployment for that particular entity.

In one embodiment, the ADP analytics server computing device 104 mayinclude a plurality of hardware and software modules that may performvarious functions. The ADP analytics server computing device 104 mayreceive metadata exhaust from each ADP accelerator server computingdevice 106 or from inspectors of the system 100 and may push informationand messages to the ADP accelerator server computing device 106 such assoftware upgrades, configuration instructions, policies, operationalcommands, security controls, etc. In addition, the ADP analytics servercomputing device 104 may store and process information associated withanalytical intelligence, automation, and best practice capabilitieswithin its modules that may optimize ADP accelerator operations.

The ADP analytics server computing device 104 may include a dataprotection abstraction layer (DPAL) that may interact with ADP dataacquisition tools (DATs) and may handle data protection, cloudcomputing, storage, and network products and services, enabling themanagement of data protection, cloud computing, storage, and networkproducts and services in a consistent manner in the system 100. The ADPanalytics server computing device 104 may provide an ADP commander userinterface and a RESTful application programming interface (API). In anexample embodiment, the ADP analytics server computing device 104 mayprovide capabilities and services that may be delivered as a servicefrom at least one global cloud computing provider.

The ADP accelerator server computing device 106 may include computeresources (e.g., hardware servers, virtual servers (e.g., VMware virtualmachines), and various cloud compute resources (e.g., virtual, baremetal, or hosted systems)). A bare metal virtualization may includerunning a virtual operating system using a hypervisor. A hosted systemmay run a virtual operating system using virtual hardware on a hostoperating system, which uses physical hardware. The compute resourcesmay include memory (e.g., RAM and/or ROM), network interfaces,management interfaces, storage area network (SAN) interfaces, and otherresources.

The ADP accelerator server computing device 106 may include an ADPoperating system (ADP OS) that provides management, monitoring,reporting, alerting, control, integration, orchestration, ADP analyticsexhaust management, and other modules and services that may monitor andcontrol data protection operations that may be monitored by the ADPaccelerator server computing device 106 for the system 100. The ADP OSmay provide environmental monitoring including the measuring oftemperature, power, and other variables associated with the system 100and its associated network, cloud computing system, and other computingsystems and environments.

The ADP OS may provide ADP data acquisition tools (ADP DATs). The ADPDATs may manage, monitor, and control a variety of data protection,cloud computing, storage, and network products and services. ADP DATsmay include a data protection acquisition tool (DPAT), cloud acquisitiontool (CAT), storage acquisition tool (SAT), and a network acquisitiontool (NAT).

Further, the ADP OS may include and manage backup server toolingsoftware. This may include a set of backup server tooling softwareproducts (e.g., IBM SPECTRUM PROTECT™, VERITAS NETBACKUP™, VEEAM, etc.),cloud backup services, server or storage snapshot utilities, applicationbackup tools, or other backup or replication utilities that may executemany backup, restore, and long term data retention operations on data inthe system 100 and its associated network, cloud computing system, andother computing systems and environments. In addition to backup servertooling software, the ADP OS also may include and manage operatingsystem software associated with computing devices in the system 100,file systems associated with computing devices of the system 100, andother software resources associated with the system 100.

In short, the ADP OS may interact with the ADP analytics servercomputing device 104 to manage and automate data protection operationsof the system 100.

Storage of the system 100 may include backups of system user data thatmay be stored where the user desires, e.g., on local storage computingdevices and on cloud storage, among other locations. Storage may bephysically included in the ADP accelerator server computing device 106and/or may be separate such as external storage arrays and/or stored oncloud-based storage. However, the storage may appear to a user as beinglogically attached to the ADP accelerator server computing device 106and may be used by ADP accelerator server computing device services.

According to an example embodiment, the ADP accelerator server computingdevice 106 may be deployed on client premises, in a data center, in aremote office, in a private cloud computing environment, in a publiccloud computing environment, and in a third-party hosting/data center,among other locations. The ADP accelerator server computing device 106may be deployed as a virtual appliance in a virtual environment (e.g.,VMWARE® Cloud), as a physical appliance, or in a public cloud computingenvironment (on virtual, bare metal, or hosted systems). In order toprovide greater degrees of data security and availability, the ADPaccelerator server computing device may be configured to createadditional copies of data via services such as data replication and datacopies to various media types, or storage classes.

The ADP accelerator server computing device 106 may have associated dataprotection hardware and software infrastructure that may include thecompute resources discussed above, the storage discussed above, networkcomponents, traffic patterns, firmware levels, microcode, dataprotection software tooling, cloud functionality, and others. Inaddition, the ADP accelerator server computing device 106 may be incommunication via the communications network 108 with additional dataprotection infrastructure including other protected servers, storagedevices, applications, data, backup servers, networks, deduplicationappliances, cloud workloads, and others.

In one embodiment, the ADP accelerator server computing device 106 maybe considered an ADP conduit. An ADP conduit may provide industryservices such as ticketing, orchestration, service management, and othersolutions. An ADP conduit may be deployed to implement special securityaccess controls that may be requested for various customer environments.

The ADP accelerator server computing device 106 may operate autonomouslyfrom the ADP analytics server computing device 104 but also may beintegrated with the ADP analytics server computing device 104. The ADPaccelerator server computing device 106 may share metadata exhaust datawith the ADP analytics server computing device 104 and may in returnreceive analytics-derived guidance in order to optimize data inspectionoperations for the system 100. In addition, operating system software,ADP OS software, backup server tooling software, devicefirmware/microcode, and other software may be transmitted from the ADPanalytics server computing device 104 to the ADP accelerator servercomputing device 106.

The system 100 may include adaptive data inspection interfaces includinga graphical user interface (GUI) and a RESTful API as discussed above.The system 100 provides ADP Commander, a GUI that comprises a dashboardportal that graphically provides information and controls regarding thesystem 100. The ADP Commander may be presented from the perspective,view, and authentication permissions of each user of the system 100. Inaddition, an administrator of the system 100 may access the portal toview the status for each user/partner associated with the system 100.The administrator may resolve issues, execute ADP accelerator servercomputing device 106 deployments, and may view analytics regarding thesystem 100 or individual customer domains. Services and solutions of thedata inspection system 100 may be shared amongst, and delivered through,multiple partners (e.g., separate companies and organizations andsub-organizations of companies) to multiple sets of clients andcustomers. A partner of the system 100 may view a particular portion ofthe system environment from the perspective, view, and authenticationpermissions of the partner. A partner may view partner customerenvironments. End users of the system 100 may view a portion of thesystem 100 from the perspective, view, and authentication permissions ofthe user. A customer may view ADP accelerator server computing deviceinformation and computing devices that may be associated with the ADPaccelerator server computing device 106.

The ADP Commander user interface may provide complete multi-tenancyfunctions/features at different levels (e.g., partners, users) and mayprovide comprehensive reporting, monitoring, control, security,chargeback, showback, provisioning of client computing devices, policymanagement, capacity management, management of system inventories, andothers at all levels.

In addition, the RESTful API provides ADP functionality and all ADP anddata inspection system functions may be accessed and managed using theRESTful API.

The ADP analytics server computing device 104 may have an inspectiondirector 110A and the ADP accelerator server computing device 106 mayhave an inspection manager 110B that communicates with storage that mayinclude at least one database that comprises a non-relational databaseand/or a relational database for storing user information, among otherdata. As an example, the information may be stored in a relationaldatabase management system (RDBMS), an open source distributed databasemanagement system such as a Not only SQL (NoSQL) database managementsystem, an in-memory database (IMDB) management system, or anotherappropriate database management system. As an example, each userassociated with the system 100 may have associated information stored inthe database such as an identifier associated with the user and a roleassociated with the user that may be dynamically modified by the system100.

The client computing device 102 may include a display and an inputdevice. The display is used to display visual components of theinspection director 110A, such as at a user interface, e.g., ADPCommander. In one example, the user interface may display a userinterface of the inspection director 110A, and a representation of therequested resources received from the ADP analytics server computingdevice 104. The display can include a cathode-ray tube display, aliquid-crystal display, a light-emitting diode display, a touch screendisplay, and/or other displays. The input device is used to interactwith the inspection director 110A or otherwise provide inputs to theclient computing device 102 and may include a mouse, a keyboard, atrackpad, and/or the like. The input device may be included within thedisplay if the display is a touch screen display. The input deviceallows a user of the client computing device 102 to manipulate the userinterface of the inspection director 110A or otherwise provide inputs tobe transmitted to the ADP analytics server computing device 104.

The at least one ADP analytics server computing device 104 is configuredto receive data from and/or transmit data to the at least one clientcomputing device 102 through the communications network 108. Althoughthe at least one ADP analytics server computing device 104 is shown as asingle server, it is contemplated that the at least one server computingdevice 104 may include multiple servers, for example, in a cloudcomputing configuration.

The one or more computing devices communicate and coordinate theiractions by passing messages over the communications network 108. Thecommunications network 108 can be one or more of the Internet, anintranet, a cellular communications network, a WiFi network, a packetnetwork, or another wired and/or wireless communication network or acombination of any of the foregoing. As an example, the one or morecomputing devices communicate data in packets, messages, or othercommunications using a common protocol, e.g., Hypertext TransferProtocol (HTTP) and/or Hypertext Transfer Protocol Secure (HTTPS). As anexample, the data inspection system 100 may be a cloud-based computersystem or a distributed computer system that may include one or morecloud-based computer systems including AMAZON WEB SERVICES, VMWARECLOUD, MICROSOFT AZURE, IBM CLOUD, GOOGLE CLOUD PLATFORM, ALIBABA CLOUD,and other cloud computing services.

The inspection director 110A may be a component of an application and/orservice executable by the client computing device 102 and/or the ADPanalytics server computing device 104 and/or the ADP accelerator servercomputing device 106. For example, the inspection director 110A may be asingle unit of deployable executable code or a plurality of units ofdeployable executable code. According to one aspect, the inspectiondirector 110A may be a web application, a native application, and/or amobile application (e.g., an app) downloaded from a digital distributionapplication platform that allows users to browse and downloadapplications developed with mobile software development kits (SDKs)including the App Store and GOOGLE PLAY®, among others. The inspectiondirector 110A may be installed on the client computing device 102, whichmay have a WINDOWS operating system, APPLE MACOS operating system, aLinux operating system, the iOS operating system or an ANDROID™operating system, among other operating systems. In an exemplaryembodiment, the inspection director 110A may include a first clientcomponent executed by the client computing device 102 and a secondserver component executed by the at least one ADP analytics servercomputing device 104 and/or the ADP accelerator server computing device106.

Conventional backup techniques may use a protection class policy todefine how to manage and protect data. Data protection techniques usedto manage and protect data may use the protection class policy that maydefine what backup operations to perform on data, when to performbackups, where to store backup copies for data, how long to keep backupcopies, and how many versions of backup copies to keep.

The system 100 provides data and metadata content inspection. Datacontent inspection is a process of scanning or monitoring data forviruses, malware, data distortion, data destruction, and others. Thereare a number of data content inspection tools and technologies availableincluding anti-virus, anti-malware, and other types of data scanningsoftware. In addition, there may be inspection tools that may supportspecific workloads (e.g., a specific inspection tool that supports LINUXoperating system binary files, or a specific inspection tool thatsupports a specific type of database). The system 100 is able toleverage and use data content inspection technologies and tools usingpolicies and dynamically adjust how the technologies may be optimallyapplied to data based on conditions and events. In addition, the systemis able to analyze data protection and security conditions and events.The results of the data inspection operations may be used to learn andadjust future data inspection operations to increase security.

The system 100 may use protection class policies and inspection classpolicies. The inspection class policy may specify a class of inspectiontype (e.g., a tool) and a level of inspection to be performed on aspecific type of data. As an example, a specific inspection tool may beused for executable files on a particular operating system to inspectfor malware particular to that environment. The inspection class policymay also define a class of inspection type and level of inspection to beperformed on specific data at a certain time or across certain points orupon occurrence of a certain event during the data lifecycle (e.g., at abackup, recovery or replication event, or upon occurrence of some otherevent such as a ransomware attack).

A class of inspection may be a specific type of data content inspectiontechnology or tool (e.g., an anti-virus or anti-malware scan) or a classof inspection may be a specific level of inspection (e.g., a quick scanversus a full, in-depth scan) using a specific type or multiple types ofdata content inspection technology or technologies. Some data inspectiontechnologies may allow multiple levels of inspection. A class ofinspection operation is an actual use or execution of a class ofinspection on specific data (e.g., performing a data scan or datainspection action on specific data identified by the inspection classpolicy).

For example, for specific data identified by the inspection classpolicy, the inspection class policy may define a class of inspection(e.g., an inspection class type or level of content inspection)operation to be performed on the data and when in the lifecycle of thedata (e.g., upon data creation, modification, backup, recovery, or otherdata protection operation event) the operation is to occur. Theinspection class policy may define additional class of inspectionoperations to be performed, and when in the lifecycle, for the specificidentified data or for other identified data.

The inspection class policy also may define a class of inspectionoperation to be performed on identified data upon occurrence of acertain condition or event. As an example, a condition may be a highsecurity alert condition, a government alert condition, a companysecurity alert condition, or some other security or other condition. Asa further example, an event may be a ransomware attack event, a securityaudit in progress event, some other security event, a data protectionoperation event (e.g., upon a data protection pattern change, or upon adata creation, deletion, distortion, mutation, modification, backup,replication, restore, or other data event), or another type of event(e.g., a disaster recovery test). In an inspection class policy,specific data may be identified and assigned a specific class ofinspection (e.g., an inspection class type or level of inspection) basedon various criteria. Specific data may be identified to be associatedwith a particular inspection class policy through use of various datarules such as include or exclude statements with file naming patterns,or through direct assignment of an inspection class policy to particulardata, or using another technique. As an example, data with file orobject names having a file naming pattern or another pattern in aparticular inspection class policy may be identified and assignedsecurity policies defined in an inspection class policy, including aspecific class of inspection.

Criteria used to identify specific data may include data rules that mayinclude inclusions or exclusions of data or file name, data workload(e.g., application type such as a specific filesystem, database, email,or other application), data type (e.g., file and file type, object,structured data, block data), data owner, data creation time, data lastmodification time, and others. In addition, an inspection class policymay also include a policy field that specifies that an additional classof inspection operation, using a specific class of inspection, beperformed on specific identified data under certain conditions orevents. As an example, an inspection class policy may specify that,under a normal condition, specific data files may have an anti-virus oranti-malware scan performed at a time of recovery but not during backup,replication, or other points in the lifecycle of the data. Further, aninspection class policy may specify that an anti-virus or anti-malwarescan is to run on any executable file prior to the file being run. As afurther example, an inspection class policy may specify that a containerobject have a completely different type of data inspection tool ortechnology applied to it at a certain time or based on certain events.

An inspection class policy may specify that a particular data protectionoperation or a particular cyber-security analysis be performed on aspecific type of data at a certain time or across certain points or uponoccurrence of a certain condition or event. A particular data protectionoperation may include performing an additional backup, replication,restore, or other operation on the specific identified data or specifictype of data.

A particular cyber security analysis may include a specific type ofanalysis performed by the inspection director 110A. As an example, onetype of cyber security extrapolation analysis performed by theinspection director 110A may include continuously monitoring for a newsecurity condition or event, detecting a new security condition or event(e.g., indications of a cyber-attack against a particular system or dataobject), and initiating a class of inspection operation on the specificidentified data or specific type of data and evaluating the results. Ifthe results show indications of infected data extrapolating thatisolated event to other similar or related systems or data objectsglobally across all domains (e.g., systems or data objects on the samenetwork or of the same application type), then this may result inidentifying the possible broader or global threat or impact to othersystems or data objects, sending security notifications, and takingpreventative measures on a broader scale to prevent or minimize apossible broader impact (e.g., initiating a broader set of class ofinspection operations, restricting network access in adjacent securityzones, increasing security levels). For example, if a specific operatingsystem, data type, or application may be attacked in one customerdomain, analysis might identify another similar operating system, datatype, or application in a different customer domain that might be athigher risk of the attack and the inspection director may sendnotifications and take further preventative measures to protect theother operating system, data type, or application.

As another example, another type of cyber security historical analysisperformed by the inspection director may include continuously monitoringfor a new security condition or event, detecting a new securitycondition or event involving a particular system or data object or datatype, performing a historical analysis of attacks against a particularsystem or data object or data type, determining possible attack patternsor timings, identifying attack sources, and taking preventative measureson a broader scale to prevent or minimize a possible broader impact. Theinspection director may review an isolated security event within aspecific customer domain and perform cyber security analysis at a globallevel across other customer domains. Further, observations taken by theinspection director from analysis in one customer domain may indicatethat a certain preventative measure is to be taken at a second customerdomain to provide additional cyber security protection. The certainpreventative measure at the second customer domain may not be apparentfrom monitoring or cyber security analysis only within that secondcustomer domain. As a result, a more adaptive approach to applying asecurity policy to specific data at a more granular level (includingdown to individual files, objects, data chunks, or other data) based onvarious conditions or events may be provided.

The inspection director 110A may be executed by the analytics servercomputing device 104 and may initiate, monitor, and manage class ofinspection operations to ensure a specific inspection class type orlevel of content inspection occurs, and at the appropriate times, asspecified by an inspection class policy. The inspection director 110Amay also dynamically adjust a class of inspection operation or mayinitiate a cyber security analysis or data protection operation based onvarious operations, conditions, and events. The inspection director 110Amay continually monitor for new conditions and events and monitorinspection class policies. For each new condition or event (including a“normal” condition), the inspection director 110A determines each classof inspection operation, cyber security analysis, or data protectionoperation that may be associated with an inspection class policy. Foreach required class of inspection operation or data protectionoperation, the inspection director 110A may determine an inspectionmanager 110B on a particular ADP accelerator server computing device 106to carry out the class of inspection operation or data protectionoperation and may notify the inspection manager. For each cyber securityanalysis operation, the inspection director 110A may invoke theappropriate analysis module.

As an example, the inspection manager 110B may be executed by the ADPaccelerator server computing device 106. The inspection manager 110B maymonitor for a notification from the inspection director 110A. When theinspection manager 110B detects a notification from the inspectiondirector 110A and if the notification indicates that a data protectionoperation is to be performed, the inspection manager 110B may initiatethe data protection operation on the ADP accelerator server computingdevice 106. If the notification indicates that a class of inspectionoperation is to be performed, the inspection manager 110B may create anew class of inspection operation request and may put the request on theinspection work queue. Further, the inspection manager 110B maycontinually monitor for a new operation, condition, or event and maydetect the new operation, condition, or event. Upon detecting the newoperation, condition, or event, the inspection manager 110B may performanalysis of the new operation, condition, or event, may determine a newclass of inspection operation to perform, and may place the class ofinspection operation as a request into an inspection work queue.

FIG. 2 illustrates the data inspection system 100 including a datainspection server computing device 202 according to an exampleembodiment. As shown in FIG. 2 , the ADP analytics server computingdevice 104 may include the inspection director 110A. The ADP acceleratorserver computing device 106 may include the inspection manager 110B. TheADP accelerator server computing device 106 also may have access to aninspection work queue 204. The data inspection server computing device202 may have one or more inspectors 206 that have access to theinspection work queue 204. Each inspector 206 may be able to utilizeAPIs or Command Line Interfaces (CLIs) and a plurality of class ofinspection tools to process the inspection work queue 204 and each classof inspection operation request 208 in the inspection work queue 204.The data inspection server computing device 202 is further illustratedin FIG. 3 .

Inspectors 206 of the data inspection server computing device 202 mayperform the class of inspection operations. An inspector 206 may beexecuted by the data inspection server computing device 202, may beoutside of an encrypted security context of the ADP accelerator servercomputing device 106, and may be used as a clean room area to restoreand inspect data. The inspector 206 may continually monitor theinspection work queue 204 for a new class of inspection operationrequest 208. When an inspector 206 detects that a new class ofinspection operation request 208 is in the inspection work queue 204,the inspector 206 may pull the request 208 off the inspection work queue204, determine which class of inspection tool 210 to use or a specificlevel of inspection to perform, and invoke the specific class ofinspection tool or specific level of inspection to perform on the data.The inspector 206 may restore, from the ADP accelerator server computingdevice 106, a copy of the data object (identified in the class ofinspection operation request 208) on which to perform the class ofinspection operation. The inspector 206 may then perform the class ofinspection operation on the data. The inspector 206 and the copy ofidentified data restored by the inspector 206 may be located outside ofthe encrypted security context of the ADP accelerator server computingdevice 106 and may be located within a user security zone (e.g., a cleanroom recovery security zone associated with a user).

The inspector 206 may include and/or have access to ApplicationProgramming Interfaces (APIs) 212 or Command Line Interfaces (CLIs) thatmay enable the inspector to leverage and invoke class of inspectiontools 210 that may be external cyber-security, data content inspection,and other technologies and techniques. The APIs 212 may be RESTful APIs.The class of inspection tools 210 may include various encryption anddecryption techniques, different levels and types of data contentinspection scanning tools (e.g., anti-virus and anti-malware scanners),content validation tools, data backup operations, data recoveryoperations, data replication operations, data disaster recoveryoperations, and others. The class of inspection tools 210 may be actualdata inspection executable files, links to executable files, API or CLIoptions to invoke data inspection tools, or another implementation ofinvoking data inspection technologies.

The inspection director 110A may orchestrate class of inspectionoperations on various data by leveraging a variety of data securitytechnologies and techniques. The inspection director 110A may use theinspection class policy to apply security policies to the class ofinspection operations in a consistent, automated, and granular method.The inspector director 110A may enforce security disciplines withpolicy-based management for securing data. The inspection director 110Aalso may harvest and store operational metadata, forensics data, andtraining data for analysis over time. Additionally, the inspectiondirector 110A may monitor for a specific operation (e.g., a backup,recovery, security, or another operation), condition (e.g., a highsecurity alert condition, a government alert level, a company securityalert condition, or some other security condition), or event (e.g., aransomware attack event, a security audit in process event, some othersecurity event, a data protection operation event, or another event).When the inspection director 110A detects a specific operation,condition, or event, the inspection director may view an inspectionclass policy to determine if there is a class of inspection operation, acyber security analysis, or a data protection operation that should beperformed on data for the specific operation, condition, or event. Foreach class of inspection operation (e.g., a deeper level or a differenttype of security inspection such as content inspection for ransomware ormalware) or a data protection operation, the inspection director 110Amay determine an inspection manager 110B on an ADP accelerator servercomputing device 106 to carry out the class of inspection or dataprotection operation and may notify the inspection manager 110B. Foreach cyber security analysis, the inspection director 110A may invokethe appropriate analysis module.

As an example, an inspection class policy may indicate that under anormal condition, specific data files may have an anti-virus oranti-malware scan performed at time of recovery but not during backup,replication, or other points in a lifecycle of the data. Further, theinspection class policy may specify that an anti-virus or anti-malwarescan may be run on any executable file prior to executing the executablefile. As a further example, the inspection class policy may specify thata container object have a completely different type of data inspectiontool or technology to apply to the container object at one or morecertain times or one or more certain events.

As a result, the inspection director 110A may dynamically adjust aninspection class type or level of security inspection applied to databased on the type of operational activity being performed on the data,such as a backup operation or a recovery operation. The inspection classpolicy may specify that under a normal condition, specific data filesmay have an anti-virus or anti-malware scan performed at time ofrecovery but not during backup. The inspection director 110A may monitorfor the occurrence of a data protection or security condition or eventand when a specific condition is determined to exist (e.g., a highsecurity alert condition) or an event has occurred (e.g., a ransomwareattack event is identified), the inspection director 110A maydynamically initiate the inspection class policy to perform ananti-virus or anti-malware scan during any backup operation for specificdata. Further, the inspection director 110A may dynamically adjust whichclass of inspection tool 210 to use (e.g., adjust a data contentinspection technology to use or adjust a level of security for the datacontent inspection technology selected for use) on the identified data.

Additionally, the inspection director 110A may monitor for and detectindications of a data protection or security event including a newransomware attack. Upon occurrence of the new ransomware attack, theinspection director 110A may use the inspection class policy to identifydata upon which to perform additional class of inspection operations.For example, upon occurrence of the new ransomware attack, theinspection director 110A may dynamically initiate a class of inspectionoperation (e.g., a malware scan operation) against identified data ordata types that were created or modified after the start of the newransomware attack based on a specific inspection class policy.Additionally, the inspection director 110A may perform securityoperational behavior forensics. The security operational behaviorforensics may include analysis of the results of the previous class ofinspection operations to assess patterns in security activity. Patternsmay include (1) determining whether certain systems or data types arebeing attacked in any systematic way or (2) determining whetherdiffering cyber security events are related in any way. The securityoperational behavior forensics may further include comparing over timeof security activities and evaluation of results of class of inspectionoperations. The inspection director 110A may perform various othersecurity operational behavior forensics, perform different securityanalysis, or take other actions on identified data in the future todynamically improve the cyber-security of the environment and its data.

As another example, the inspection director 110A may analyze variousoperational behavior forensics from a number of class of inspectionoperations collectively and look for patterns or insights. As anexample, the inspection director 110A may analyze the results of manyclass of inspection operations collectively and determine localitypatterns such as cyber-attacks that are focusing on operating systemenvironments, application types, networks, regions, organizations orindividuals, data types, or other specific targets. The inspectiondirector 110A also may analyze the results of many class of inspectionoperations collectively and determine insights such as the type of virusor type of malware used to attack and how the cyber-attacks arebreaching security defenses. The inspection director 110A may furtheranalyze the results of class of inspection operations collectively anddetermine other patterns and insights.

The inspection director 110A may continuously perform analysis of acertain observed operational behavior. As an example, an operationalbehavior may include indications of ransomware attacks that arrive inspurts or groupings at particular periods of time or indications ofransomware attacks hitting adjacent subnetworks simultaneously orindications of ransomware attacks targeting a specific operating systemor application type. In addition to analysis of such operationalbehavior, the inspection director may also continuously monitor forindications of a certain data protection or security condition or eventsuch as indications of a ransomware attack. When the inspection director110A detects a certain data protection or security condition or event,the inspection director 110A may dynamically increase a scope of timeranges and additional workload related systems over which to performadditional class of inspection operations. The inspection director 110Amay initiate a data protection operation such as making an additionalcopy or performing a recovery of a previous, uncontaminated version ofthe data into a sanitized, secure location. Upon a certain observedoperational behavior, the inspection director 110A may also initiatenotifications or alerts for further inspection by security teams.

Based on the results of various security operational behavior forensics(e.g., conclusions from the analysis of the results of many class ofinspection operations, individually and collectively, and the observingof patterns and insights), the inspection director 110A may dynamicallyadjust a class of inspection operation for specific data. As an example,the inspection director 110A may initiate a different, additional classof inspection operation on the suspect data to obtain more details. Asanother example, the inspection director 110A may initiate a dataprotection operation such as making an additional copy or performing arecovery of a previous, uncontaminated version of the data into a safelocation. Additionally, the inspection director 110A may initiatenetwork zoning, system authentication, resource authentication, or otherchanges to lower the risk of further cyber-attack penetration. Inaddition, the inspection director 110A may halt the policy expiration ofdata from the environment.

The inspection director 110A may use the inspection class policy todetermine specific data (e.g., mission-critical data) to have a class ofinspection operation dynamically adjusted based on a changing securitylandscape (e.g., based on changing events and conditions). Theinspection director 110A may use metadata associated with a particulardata protection or security condition or event as machine learningtraining data and adjust future cyber security analysis based on thetraining data.

FIG. 3 illustrates a block diagram of the data inspection servercomputing device 202 according to an example embodiment. The datainspection server computing device 202 may be a computer having aprocessor 302 and memory, such as a laptop, desktop, tablet computer,mobile computing device (e.g., a smartphone), or a dedicated electronicdevice having a processor and memory. The one or more processors 302process machine/computer-readable executable instructions and data, andthe memory stores machine/computer-readable executable instructions anddata including one or more applications, including the data inspectionapplication 306 that executes in conjunction with the inspectiondirector 110A and the inspection manager 110B. The processor 302 andmemory are hardware. The memory includes random access memory (RAM) andnon-transitory memory, e.g., a non-transitory computer-readable storagemedium such as one or more flash storages or hard drives. Thenon-transitory memory may include any tangible computer-readable mediumincluding, for example, magnetic and/or optical disks, flash drives, andthe like. Additionally, the memory may also include a dedicated fileserver having one or more dedicated processors, random access memory(RAM), a Redundant Array of Inexpensive/Independent Disks (RAID) harddrive configuration, and an Ethernet interface or other communicationinterface, among other components.

The data inspection server computing device 202 uses the data inspectionapplication 306 to transmit data, messages, and/or resources to the oneor more client computing devices 102 and receive messages, data, and/orresources from the one or more client computing devices 102.

The data inspection server computing device 202 includes computerreadable media (CRM) 304 in memory on which a data inspectionapplication 306 and/or other application is stored. The computerreadable media may include volatile media, nonvolatile media, removablemedia, non-removable media, and/or another available medium that can beaccessed by the processor 302. By way of example and not limitation, thecomputer readable media comprises computer storage media andcommunication media. Computer storage media includes non-transitorystorage memory, volatile media, nonvolatile media, removable media,and/or non-removable media implemented in a method or technology forstorage of information, such as computer/machine-readable/executableinstructions, data structures, program modules, or other data.Communication media may embody computer/machine-readable/executableinstructions, data structures, program modules, or other data andinclude an information delivery media or system, both of which arehardware.

The data inspection application 306 includes the following modules. Themodules may include sub-modules that may be associated with the ADPaccelerator server computing device 106 and thus portions of theinspection director 110A may be executed by the ADP accelerator servercomputing device 106 and/or the ADP analytics director server computingdevice 104.

The data inspection application 306 may include a director module 308.The director module 308 is in communication with the inspection director110A of each ADP analytics server computing device 104. In one example,the director module 308 operates in communication between the inspectiondirector 110A and each inspector 206 of the data inspection servercomputing device 202.

The data inspection application 306 may include a manager module 310.The manager module 310 is in communication with the inspection manager110B of each ADP accelerator server computing device 106. In oneexample, the manager module 310 operates in communication between theinspection manager 110B.

The data inspection application 306 may include an inspector module 312.The inspector module 312 provides the data inspection application 306access to one or more inspectors 206 that have access to the inspectionwork queue 204 provided by the ADP accelerator server computing device106. The inspection work queue 204 includes one or more class ofinspection operation requests 208. Each class of inspection operationrequest 208 may be received by an inspector 206 of the inspector module312 and processed. Each class of inspection operation request 208 may beprocessed by a respective inspector 206 using the one or more APIs 212or CLIs and/or one or more class of inspection tools 210.

The data inspection application 306 may include a user interface module314. The user interface module 314 may receive requests or othercommunications from the client computing devices 102 and transmit arepresentation of requested information, user interface elements, andother data and communications to the client computing device 102 fordisplay. As an example, the user interface module 314 may generate anative and/or web-based graphical user interface (GUI) that acceptsinput and provides output by generating content that is transmitted viathe communications network 108 and viewed by a user of the clientcomputing device 102. The GUI may be the ADP Commander discussed herein.The user interface module 314 may provide realtime, automatically anddynamically refreshed information to the user of the client computingdevice 102 using Java, Javascript, AJAX (Asynchronous Javascript andXML), ASP.NET, Microsoft .NET, and/or node.js, among others. The userinterface module 314 may send data to other modules of the datainspection application 306 and retrieve data from other modules of thedata inspection application 306 asynchronously without interfering withthe display and behavior of the data inspection application 306displayed by the client computing device 102. As an example, data may beretrieved using XMLHttpRequest objects or using Web Sockets.

FIG. 4 illustrates a flowchart of a process 400 for the inspectiondirector 110A according to an example embodiment. As shown in FIG. 4 ,in step 402, the inspection director 110A may continuously monitor for anew operation, condition, or event. In step 404, the inspection director110A may detect a new operation, condition, or event and may view eachinspection class policy. In step 406, for each inspection class policy,the inspection director 110A may determine each class of inspectionoperation, cyber security analysis, or data protection operationassociated with the inspection class policy or determined throughsecurity analysis. In step 408, for each class of inspection operationor data protection operation, the inspection director 110A may determinean inspection manager 110B on an accelerator server computing device 106to carry out the class of inspection or data protection operation andmay notify the inspection manager 110B. For each cyber securityanalysis, the inspection director 110A may invoke the appropriateanalysis module.

FIG. 5 illustrates a flowchart of a process 500 for the inspectionmanager 110B according to an example embodiment. As shown in FIG. 5 , instep 502, the inspection manager 110B may monitor for a notificationfrom the inspection director 110A. In step 504, the inspection manager110B may detect a notification from the inspection director 110A. Instep 506, if the notification is to perform a data protection operation,the inspection manager 110B may initiate the data protection operationon the accelerator server computing device 106. In step 508, if thenotification is to perform a class of inspection operation, theinspection manager 110B may create a new class of inspection operationrequest 208 and may put the request on the inspection work queue 204.

FIG. 6 illustrates a flowchart of a process 600 for a class ofinspection operation that may be executed by the data inspectionapplication 306, the inspection director 110A, and/or the inspectionmanager 110B according to an example embodiment. As shown in FIG. 6 , instep 602, the inspector 206 may continuously monitor the inspection workqueue 204 for a new class of inspection operation request 208. In step604, the inspector 206 may detect a new class of inspection operationrequest 208 on the inspection work queue 204. The inspector 206 may pullthe class of inspection operation request 208 off of the inspection workqueue 204 and determine which class of inspection tool to use 210 ordetermine a specific level of inspection to perform. In step 606, theinspector 206 may restore a copy of the data object identified in theclass of inspection operation request 208 within a security zone outsideof the encrypted security context of the ADP accelerator servercomputing device 106. In step 608, the inspector 206 may invoke aspecific class of inspection tool 210 or a specific level of inspectionto be performed on the data through execution of the class of inspectiontool 210 or using an API call 212 or CLI to the class of inspection tool210. The specific class of inspection tool 210 or specific level ofinspection may be utilized at one of a certain time (or a number oftimes) and a certain event during a data lifecycle of the data object.

FIG. 7 illustrates a flowchart of a process 700 for cyber securityextrapolation analysis that may be executed by the data inspectionapplication 306, the inspection director 110A, and/or the inspectionmanager 110B according to an example embodiment. As shown in FIG. 7 , instep 702, the inspection director 110A may continuously monitor for anew security condition or event. In step 704, the inspection director110A may detect a new security condition or event. In step 706, theinspection director 110A may initiate a class of inspection operation onidentified data and evaluate the results. In step 708, when the resultsshow indications of infected data, the inspection director 110A mayextrapolate the isolated event to other similar or related systems ordata objects globally across all domains and identify a possible broaderthreat or impact to other systems or data objects. In step 710, theinspection director 110A may send security notifications and takepreventative measures on a broader scale to minimize possible impact(e.g., may initiate a broader set of class of inspection operations,initiate restricted access controls, or others).

FIG. 8 illustrates a flowchart of a process 800 for cyber securityhistorical analysis that may be executed by the data inspectionapplication 306, the inspection director 110A, and/or the inspectionmanager 110B according to an example embodiment. As shown in FIG. 8 , instep 802, the inspection director 110A may continually monitor for a newsecurity condition or event. In step 804, the inspection director 110Amay detect a new security condition or event involving a particularsystem or data object or data type. In step 806, the inspection director110A may perform a historical analysis of attacks against the particularsystem or data object or data type. In step 808, the inspection director110A may determine attack patterns or timings and may identify one ormore attack sources. In step 810, the inspection director 110A may takepreventative measures on a broader scale to minimize possible impact(e.g., may initiate a broader set of class of inspection operations,initiate restricted access controls, or others).

FIG. 9 illustrates a flowchart of a process 900 for analysis and dynamicadjustment of time ranges and scope of inspection that may be executedby the data inspection application 306, the inspection director 110A,and/or the inspection manager 110B according to an example embodiment.As shown in FIG. 9 , in step 902, the inspection director 110A maycontinuously perform analysis of a certain operational behavior such asone or more ransomware attacks that may come in spurts at one or moretimes. In addition, the ransomware attack also may hit adjacentsubnetworks simultaneously or may target a specific operating system orone or more applications. In step 904, the inspection director 110A maycontinuously monitor for indications of a certain security condition orevent such as indications of one or more ransomware attacks. In step906, the inspection director 110A may detect one of a certain securitycondition or event. In step 908, the inspection director 110A maydynamically increase a scope of time ranges to perform additional classof inspection operations. Alternatively, the inspection director 110Amay increase a scope of additional systems or applications over which toperform the additional class of inspection operations.

FIG. 10 illustrates a flowchart of a process 1000 for analysis ofmachine learning training data and dynamic adjustment of class ofinspection operations that may be executed by the data inspectionapplication 306, the inspection director 110A, and/or the inspectionmanager 110B according to an example embodiment. As shown in FIG. 10 ,in step 1002, the inspection director 110A may continuously save orstore metadata results associated with a previous ransomware attack, aprevious inspection class policy definition, a result of a previous dataprotection operation, and/or other operational forensics data as machinelearning training data. In step 1004, the inspection director 110A mayanalyze one or more impacts associated with the previous ransomwareattack, the previous inspection class policy, the result of the previousdata protection operation, or other operational forensics data. In step1006, the inspection director 110A may determine a different dataprotection operation to utilize, a different class of inspectionoperation to perform, or another type of change to lower a risk offurther cyber-attack penetration upon a future indication of aransomware attack.

FIG. 11 illustrates an example of an inspection class policy 1100 of thesystem according to an example embodiment. The inspection class policy1100 may have an example data structure as shown in FIG. 11 and asindicated below.

DataRules[ ]—used to specify data to be associated with this inspectionclass policy

IncludeData: RegularExpression—data with file or object names matchingthe regular expression are included (associated) with this inspectionclass policy

ExcludeData: RegularExpression—data with file or object names matchingthe regular expression are excluded (not associated) with thisinspection class policy

DataWorkload: TypeOfWorkload—application or data workload type

DataType: TypeOfData—file, object, structured, block, or other type ofdata

DataCopyType: TypeOfDataCopy—primary, backup, DR, replication, orrecovered copy of data

DataOwner: OwnerOfData

DataCreationTime: TimeOfDataCreation—date and time data was originallycreated

LastModificationTime—date and time data was last modified

InspectionEvent[ ]—a class of inspection to perform upon occurrence ofan event or condition

EventOrCondition—a specific event or condition that triggers a class ofinspection operation including

ClassOfInspection—(e.g., an inspection class type or level of contentinspection)

CyberSecurityAnalysis—type of cyber security analysis to perform on thedata upon occurrence of the event or condition

DataProtectionOperation—type of data protection operation to perform onthe data upon occurrence of the event or condition

PerformScanIfExecutable—Specifies a virus scan be performed prior torunning if executable file, program library, etc.

EnableDynamicInspection—enable data associated with this inspectionclass policy to have class of inspection operations dynamically adjustedand performed based on a changing security landscape (including varioussecurity conditions or events, evolving security best practices, etc.)

FIG. 12 illustrates an example of a class of inspection operationrequest 1200 of the system according to an example embodiment. The classof inspection operation request may have a data structure as shown inFIG. 12 and as indicated below.

DataObject—link to data on which to perform a class on inspectionoperation on

ClassOfInspectionTool—a specific class of inspection tool to use

ClassOfInspectionLevel—a specific level of inspection to perform withthe class of inspection tool (if not applicable, field is NULL)

FIG. 13 illustrates an example computing system 1300 that may implementvarious systems, such as the client computing device 102, the ADPanalytics server computing device 104, the ADP accelerator servercomputing device 106, the data inspection server computing device 202,and the methods discussed herein, such as process 400, process 500,process 600, process 700, process 800, process 900, and process 1000. Ageneral-purpose computer system 1300 is capable of executing a computerprogram product to execute a computer process. Data and program filesmay be input to the computer system 1300, which reads the files andexecutes the programs therein such as the inspection director 110A, theinspection manager 110B, and the data inspection application 306. Someof the elements of a general-purpose computer system 1300 are shown inFIG. 13 wherein a processor 1302 is shown having an input/output (I/O)section 1304, a central processing unit (CPU) 1306, and a memory section1308. There may be one or more processors 1302, such that the processor1302 of the computer system 1300 comprises a single central-processingunit 1306, or a plurality of processing units, commonly referred to as aparallel processing environment. The computer system 1300 may be aconventional computer, a server, a distributed computer, or any othertype of computer, such as one or more external computers made availablevia a cloud computing architecture. The presently described technologyis optionally implemented in software devices loaded in memory 1308,stored on a configured DVD/CD-ROM 1310 or storage unit 1312, and/orcommunicated via a wired or wireless network link 1314, therebytransforming the computer system 1300 in FIG. 13 to a special purposemachine for implementing the described operations.

The memory section 1308 may be volatile media, nonvolatile media,removable media, non-removable media, and/or other media or mediums thatcan be accessed by a general purpose or special purpose computingdevice. For example, the memory section 1308 may include non-transitorycomputer storage media and communication media. Non-transitory computerstorage media further may include volatile, nonvolatile, removable,and/or non-removable media implemented in a method or technology for thestorage (and retrieval) of information, such ascomputer/machine-readable/executable instructions, data and datastructures, engines, program modules, and/or other data. Communicationmedia may, for example, embody computer/machine-readable/executable,data structures, program modules, algorithms, and/or other data. Thecommunication media may also include an information delivery technology.The communication media may include wired and/or wireless connectionsand technologies and be used to transmit and/or receive wired and/orwireless communications.

The I/O section 1304 is connected to one or more user-interface devices(e.g., a keyboard 1316 and a display unit 1318), a disc storage unit1312, and a disc drive unit 1320. Generally, the disc drive unit 1320 isa DVD/CD-ROM drive unit capable of reading the DVD/CD-ROM medium 1310,which typically contains programs and data 1322. Computer programproducts containing mechanisms to effectuate the systems and methods inaccordance with the presently described technology may reside in thememory section 1308, on a disc storage unit 1312, on the DVD/CD-ROMmedium 1310 of the computer system 1300, or on external storage devicesmade available via a cloud computing architecture with such computerprogram products, including one or more database management products,web server products, application server products, and/or otheradditional software components. Alternatively, a disc drive unit 1320may be replaced or supplemented by a floppy drive unit, a tape driveunit, or other storage medium drive unit. The network adapter 1324 iscapable of connecting the computer system 1300 to a network via thenetwork link 1314, through which the computer system can receiveinstructions and data. Examples of such systems include personalcomputers, Intel or PowerPC-based computing systems, AMD-based computingsystems, ARM-based computing systems, and other systems running aWINDOWS-based, a UNIX-based, a LINUX-based, or other operating system.It should be understood that computing systems may also embody devicessuch as Personal Digital Assistants (PDAs), mobile phones, tablets orslates, multimedia consoles, gaming consoles, set top boxes, etc.

When used in a LAN-networking environment, the computer system 1300 isconnected (by wired connection and/or wirelessly) to a local networkthrough the network interface or adapter 1324, which is one type ofcommunications device. When used in a WAN-networking environment, thecomputer system 1300 typically includes a modem, a network adapter, orany other type of communications device for establishing communicationsover the wide area network. In a networked environment, program modulesdepicted relative to the computer system 1300 or portions thereof, maybe stored in a remote memory storage device. It is appreciated that thenetwork connections shown are examples of communications devices for andother means of establishing a communications link between the computersmay be used.

In an example implementation, source code executed by the clientcomputing device 102, the ADP analytics server computing device 104, theADP accelerator server computing device 106, the data inspection servercomputing device 202, a plurality of internal and external databases,source databases, and/or cached data on servers are stored in thestorage of ADP accelerator, memory of the client computing device 102,memory of the ADP analytics server computing device 104, memory of ADPaccelerator server computing device 106, memory of the data inspectionserver computing device 202, or other storage systems, such as the diskstorage unit 1312 or the DVD/CD-ROM medium 1310, and/or other externalstorage devices made available and accessible via a networkarchitecture. The source code executed by the client computing device102, the ADP analytics server computing device 104, the ADP acceleratorserver computing device 106, and the data inspection server computingdevice 202 may be embodied by instructions stored on such storagesystems and executed by the processor 1302.

Some or all of the operations described herein may be performed by theprocessor 1302, which is hardware. Further, local computing systems,remote data sources and/or services, and other associated logicrepresent firmware, hardware, and/or software configured to controloperations of the data inspection system 100 and/or other components.Such services may be implemented using a general-purpose computer andspecialized software (such as a server executing service software), aspecial purpose computing system and specialized software (such as amobile device or network appliance executing service software), or othercomputing configurations. In addition, one or more functionalitiesdisclosed herein may be generated by the processor 1302 and a user mayinteract with a Graphical User Interface (GUI) using one or moreuser-interface devices (e.g., the keyboard 1316, the display unit 1318,and the user devices 1304) with some of the data in use directly comingfrom online sources and data stores. The system set forth in FIG. 13 isbut one possible example of a computer system that may employ or beconfigured in accordance with aspects of the present disclosure.

In the present disclosure, the methods disclosed may be implemented assets of instructions or software readable by a device. Further, it isunderstood that the specific order or hierarchy of steps in the methodsdisclosed are instances of example approaches. Based upon designpreferences, it is understood that the specific order or hierarchy ofsteps in the method can be rearranged while remaining within thedisclosed subject matter. The accompanying method claims presentelements of the various steps in a sample order and are not necessarilymeant to be limited to the specific order or hierarchy presented.

The described disclosure may be provided as a computer program product,or software, that may include a non-transitory machine-readable mediumhaving stored thereon executable instructions, which may be used toprogram a computer system (or other electronic devices) to perform aprocess according to the present disclosure. A non-transitorymachine-readable medium includes any mechanism for storing informationin a form (e.g., software, processing application) readable by a machine(e.g., a computer). The non-transitory machine-readable medium mayinclude, but is not limited to, magnetic storage medium (e.g., floppydiskette), optical storage medium (e.g., CD-ROM); magneto-opticalstorage medium, read only memory (ROM); random access memory (RAM);erasable programmable memory (e.g., EPROM and EEPROM); flash memory; orother types of medium suitable for storing electronic executableinstructions.

The description above includes example systems, methods, techniques,instruction sequences, and/or computer program products that embodytechniques of the present disclosure. However, it is understood that thedescribed disclosure may be practiced without these specific details.

It is believed that the present disclosure and many of its attendantadvantages will be understood by the foregoing description, and it willbe apparent that various changes may be made in the form, constructionand arrangement of the components without departing from the disclosedsubject matter or without sacrificing all of its material advantages.The form described is merely explanatory, and it is the intention of thefollowing claims to encompass and include such changes.

While the present disclosure has been described with reference tovarious embodiments, it will be understood that these embodiments areillustrative and that the scope of the disclosure is not limited tothem. Many variations, modifications, additions, and improvements arepossible. More generally, embodiments in accordance with the presentdisclosure have been described in the context of particularimplementations. Functionality may be separated or combined in blocksdifferently in various embodiments of the disclosure or described withdifferent terminology. These and other variations, modifications,additions, and improvements may fall within the scope of the disclosureas defined in the claims that follow.

What is claimed is:
 1. A data security system comprising: a memory; andat least one processor to: continuously monitor, by the at least oneprocessor, for an event involving a specific data object, the eventincluding one of a backup event, a recovery event, a replication event,a security audit event, and a cyber-attack event; access, by the atleast one processor in the memory, an inspection class policy todetermine one of a class of inspection tool and a specific level ofinspection to use on the specific data object based on the event,wherein the class of inspection tool includes one of an anti-virusscanner and an anti-malware scanner, and wherein the inspection classpolicy specifies that the one of the class of inspection tool and thespecific level of inspection is to be used on the specific data objectin one or more events and not used on the specific data object in one ormore other events; and execute, by the at least one processor, the oneof the class of inspection tool and the specific level of inspection onthe specific data object responsive to the event.
 2. The system of claim1, the at least one processor further to restore a copy of the dataobject identified by the class of inspection operation request within asecurity zone outside of an encrypted security context of an acceleratorserver computing device.
 3. The system of claim 1, the at least oneprocessor further to continuously monitor, by at least one inspectionmanager, for a notification from an inspection director, detect thenotification from the inspection director, determine that thenotification indicates to perform a data protection operation, andexecute the data protection operation on an accelerator server computingdevice.
 4. The system of claim 1, the at least one processor further tocontinuously monitor, by at least one inspection director, for one of anew operation, condition, and event, detect one of the new operation,condition, and event, determine an appropriate inspection class policy,determine a class of inspection operation based on the inspection classpolicy, determine an appropriate inspection manager to execute the classof inspection operation, and notify the appropriate inspection managerexecuted by an accelerator server computing device.
 5. The system ofclaim 1, wherein an inspection class policy defines the class ofinspection tool and the specific level of inspection on a specific typeof data.
 6. The system of claim 5, wherein the inspection class policydefines a data protection operation to perform on the specific type ofdata at one of a certain time and a certain event during a datalifecycle of the data object.
 7. A data security method comprising:continuously monitoring, by at least one processor, for an eventinvolving a specific data object, the event including one of a backupevent, a recovery event, a replication event, a security audit event,and a cyber-attack event; accessing, by the at least one processor, aninspection class policy to determine one of a class of inspection tooland a specific level of inspection to use on the specific data objectbased on the event, wherein the class of inspection tool includes one ofan anti-virus scanner and an anti-malware scanner, and wherein theinspection class policy specifies that the one of the class ofinspection tool and the specific level of inspection is to be used onthe specific data object in one or more events and not used on thespecific data object in one or more other events; and executing, by theat least one processor, the one of the class of inspection tool and thespecific level of inspection on the specific data object responsive tothe event.
 8. The method of claim 7, further comprising restoring a copyof the data object identified by the class of inspection operationrequest within a security zone outside of an encrypted security contextof an accelerator server computing device.
 9. The method of claim 7,further comprising continuously monitoring, by at least one inspectionmanager, for a notification from an inspection director, detecting thenotification from the inspection director, determining that thenotification indicates to perform a data protection operation, andexecuting the data protection operation on an accelerator servercomputing device.
 10. The method of claim 7, further comprisingcontinuously monitoring, by at least one inspection director, for one ofa new operation, condition, and event, detecting one of the newoperation, condition, and event, determining an appropriate inspectionclass policy, determining a class of inspection operation based on theinspection class policy, determining an appropriate inspection managerto execute the class of inspection operation, and notifying theappropriate inspection manager executed by an accelerator servercomputing device.
 11. The method of claim 7, wherein an inspection classpolicy defines the class of inspection tool and the specific level ofinspection on a specific type of data.
 12. The method of claim 11,wherein the inspection class policy defines a data protection operationto perform on the specific type of data at one of a certain time and acertain event during a data lifecycle of the data object.
 13. Anon-transitory computer-readable storage medium, having instructionsstored thereon that, when executed by at least one processor, cause theat least one processor to perform operations, the operations comprising:continuously monitoring, by the at least processor, for an eventinvolving a specific data object, the event including one of a backupevent, a recovery event, a replication event, a security audit event,and a cyber-attack event; accessing, by the at least one processor in amemory, an inspection class policy to determine one of a class ofinspection tool and a specific level of inspection to use on thespecific data object based on the event, wherein the class of inspectiontool includes one of an anti-virus scanner and an anti-malware scanner,and wherein the inspection class policy specifies that the one of theclass of inspection tool and the specific level of inspection is to beused on the specific data object in one or more events and not used onthe specific data object in one or more other events; and executing, bythe at least one processor, the one of the class of inspection tool andthe specific level of inspection on the specific data object responsiveto the event.
 14. The non-transitory computer-readable storage medium ofclaim 13, the operations further comprising restoring a copy of the dataobject identified by the class of inspection operation request within asecurity zone outside of an encrypted security context of an acceleratorserver computing device.
 15. The non-transitory computer-readablestorage medium of claim 13, the operations further comprisingcontinuously monitoring by at least one inspection manager, for anotification from an inspection director, detecting the notificationfrom the inspection director, determining that the notificationindicates to perform a data protection operation, and executing the dataprotection operation on an acceleration server computing device.
 16. Thenon-transitory computer-readable storage medium of claim 13, theoperations further comprising continuously monitoring by at least oneinspection director, for one of a new operation, condition, and event,detecting one of the new operation, condition, and event, determining anappropriate inspection class policy, determining a class of inspectionoperation based on the inspection class policy, determining anappropriate inspection manager to execute the class of inspectionoperation, and notifying the appropriate inspection manager executed byan acceleration server computing device.
 17. The non-transitorycomputer-readable storage medium of claim 13, wherein an inspectionclass policy defines the class of inspection tool and the specific levelof inspection on a specific type of data.
 18. The non-transitorycomputer-readable storage medium of claim 17, wherein the inspectionclass policy defines a data protection operation to perform on thespecific type of data at one of a certain time and a certain eventduring a data lifecycle of the data object.